package com.aipartner.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * User Info Response DTO
 * 
 * @author AI Partner Team
 * @since 2024-01-20
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "User Info Response")
public class UserInfoResponse {
    
    @ApiModelProperty(value = "User ID", example = "1234567890")
    private Long id;
    
    @ApiModelProperty(value = "Nickname", example = "AI User")
    private String nickname;
    
    @ApiModelProperty(value = "Avatar URL", example = "https://example.com/avatar.jpg")
    private String avatarUrl;
    
    @ApiModelProperty(value = "Gender", example = "1")
    private Integer gender;
    
    @ApiModelProperty(value = "Phone", example = "13800138000")
    private String phone;
    
    @ApiModelProperty(value = "Email", example = "user@example.com")
    private String email;
    
    @ApiModelProperty(value = "Is VIP", example = "true")
    private Boolean isVip;
    
    @ApiModelProperty(value = "VIP Type", example = "monthly")
    private String vipType;
    
    @ApiModelProperty(value = "VIP Expire Time")
    private LocalDateTime vipExpireTime;
    
    @ApiModelProperty(value = "Balance", example = "100.50")
    private Double balance;
    
    @ApiModelProperty(value = "Total Consumed", example = "50.25")
    private Double totalConsumed;
    
    @ApiModelProperty(value = "Create Time")
    private LocalDateTime createTime;
}